import axios from "axios";
import { Toast } from "vant";

// 单例（实例）
const instance = axios.create({
    baseURL: process.env.VUE_APP_BASE_URL,
    timeout: 5000,// 超时
});

// 请求拦截
instance.interceptors.request.use((config) => {
    let token = localStorage.getItem('X-Nideshop-Token');
    // 在配置里面加上请求头
    if (token) {
        config.headers = {
            'X-Nideshop-Token': token
        }
    }
    // 自定义加载图标
    Toast.loading({
        message: '加载中...',
        forbidClick: true,
    });
    return config;
}, (err) => {
    return Promise.reject(err);
})

// 响应拦截
instance.interceptors.response.use((res) => {
    Toast.clear();
    return res.data;
}, (err) => {
    Toast.clear();
    return Promise.reject(err);
})

// 导出这个单例
export default instance;